﻿/**********************************************************************
 * @file   FITKSpectraModalDensity.h
 * @brief  模态密度谱数据类声明
 * @author XingXuanCi (xingxuanci@diso.cn)
 * @date   2024-11-04
 *********************************************************************/
#ifndef _FITKSpectraModalDensity_H
#define _FITKSpectraModalDensity_H

#include "FITKAcousticsPhysicsAPI.h"
#include "FITKSpectraAbstractModalDensity.h"

namespace Acoustics
{
    /**
     * @brief  模态密度谱数据类声明
     * @author XingXuanCi (xingxuanci@diso.cn)
     * @date   2024-11-04
     */
    class FITKAcousticsPhysicsAPI FITKSpectraModalDensity : public FITKSpectraAbstractModalDensity
    {
        Q_OBJECT;
    public:
        /**
         * @brief    构造函数
         * @author   XingXuanCi (xingxuanci@diso.cn)
         * @date     2024-11-04
         */
        explicit FITKSpectraModalDensity();
        /**
         * @brief    析构函数
         * @author   XingXuanCi (xingxuanci@diso.cn)
         * @date     2024-11-04
         */
        virtual ~FITKSpectraModalDensity();
        /**
         * @brief    获取频谱类型
         * @return   AcousticsSpectraType
         * @author   XingXuanCi (xingxuanci@diso.cn)
         * @date     2024-11-04
         */
        virtual FITKAcousticsAbstractSpectra::AcousticsSpectraType getSpectraType() override;
        /**
         * @brief    是否是实数
         * @return   是否是实数
         * @author   XingXuanCi (xingxuanci@diso.cn)
         * @date     2024-11-04
         */
        bool isRealValue() override;
        /**
         * @brief    获取DB的默认系数
         * @return   double
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2024-12-04
         */
        virtual double getDBDefaultCoefficient() override;

    protected:
        /**
         * @brief    初始化数据
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2024-12-04
         */
        virtual void initData()override;
    };
}

#endif
